
var primerRol;
var primerPais;

$(document).ready(main);

function main(){
	
        cargarRol();
        $("#groupVehiculo").hide();
        $("#tipoRol").change(function(){
            var a = $("#tipoRol").val();
            if ((a == 2) || (a==4)){
                a=a/2; 
                cargarVehiculos(a);
                $("#groupVehiculo").show("slow");
            }
            else {
              $("#groupVehiculo").hide();  
            }
        });
	$("#myModal").modal('hide');
        $("#myModalConfirmacion").modal('hide');
	$("#registroCliente").click(function(){
            $("#myModal").modal('toggle');
            $(".modal-backdrop").click(reset);
	});
	$("#realizarRegistro").click(registrarCliente);
	$("#reset").click(reset);
	$("#closeM").click(reset);
}

function vaciarErrores() {
    document.getElementById("RegLblErrorUsuario").innerHTML = "";
    document.getElementById("RegLblErrorCont").innerHTML = "";
    document.getElementById("RegLblErrorCont2").innerHTML = "";
    document.getElementById("RegLblErrorNombre").innerHTML = "";
    document.getElementById("RegLblErrorApellP").innerHTML = "";
    document.getElementById("RegLblErrorApellM").innerHTML = "";
    document.getElementById("RegLblErrorNro").innerHTML = "";
}

function cargarVehiculos(a){
    var jsonData = JSON.stringify(a);
    console.log(jsonData);
    $.ajax({
        type: "POST",
        data: jsonData,
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        url: "placasUsuario.htm",
        beforeSend: function(){
            
        },        
        success: function(data){
            console.log(data);
            if (data.me == ""){

                var escritor = "";
                escritor += '<option value = -1></option>';


                $.each(data.lPlaca, function (i, item) {
                        escritor += '<option value = "' + item.vehiculo_id + '">' + item.placa + '</option>';
                });

                $("#vehiculosChofer").html(escritor);
            }
            else{
                alert("Hubo un error en la Base de Datos, se procedera a recargar la pagina");
            }        	
        }
    });
}
function registrarCliente(){
	
	var datosCliente = {
            nombre: $("#inputNombre").attr("value"),
            apellidoPaterno: $("#inputApellP").attr("value"),
            apellidoMaterno: $("#inputApellM").attr("value"),
            estado: 1,
            user: $("#inputEmail").attr("value"),
            password: $("#inputCont").attr("value"),
            telefono: $("#inputTelef").attr("value"),
            rol_id : $("#tipoRol").val(),
            numero_documento: $("#inputNro").attr("value"),
            vehiculo_id: $("#vehiculosChofer").val()
	};
	
        //Validaciones
        
        fv = new formValidator();
    vaciarErrores();

    if (fv.isEmpty(document.getElementById("inputNombre").value)) {
        fv.raiseError("");
        document.getElementById("RegLblErrorNombre").innerHTML = "Ingrese su nombre";
    }
    else {
        if (!fv.isAlphaNumeric(document.getElementById("inputNombre").value)) {
            fv.raiseError("");
            document.getElementById("RegLblErrorNombre").innerHTML = "Solo Letras";
        }
    }

    if (fv.isEmpty(document.getElementById("inputApellP").value)) {
        fv.raiseError("");
        document.getElementById("RegLblErrorApellP").innerHTML = "Ingrese apellido paterno";
    }
    else {
        if (!fv.isAlphaNumeric(document.getElementById("inputApellP").value)) {
            fv.raiseError("");
            document.getElementById("RegLblErrorApellP").innerHTML = "Solo Letras";
        }
    }
    
    if (fv.isEmpty(document.getElementById("inputApellM").value)) {
        fv.raiseError("");
        document.getElementById("RegLblErrorApellM").innerHTML = "Ingrese apellido materno";
    }
    else {
        if (!fv.isAlphaNumeric(document.getElementById("inputApellM").value)) {
            fv.raiseError("");
            document.getElementById("RegLblErrorApellM").innerHTML = "Solo Letras";
        }
    }

    
    if (fv.isEmpty(document.getElementById("inputNro").value)) {
        fv.raiseError("");
        document.getElementById("RegLblErrorNro").innerHTML = "Ingrese su numero de documento";
    }
    else {
        if (!isNumber(document.getElementById("inputNro").value)) {
            fv.raiseError("");
            document.getElementById("RegLblErrorNro").innerHTML = "Solo Números";
        }
    }
   
        if (fv.isEmpty(document.getElementById("inputEmail").value)) {
            fv.raiseError("");
            document.getElementById("RegLblErrorUsuario").innerHTML = "Debe ingresar un usuario";
        }
       

        if (fv.isEmpty(document.getElementById("inputCont").value)) {
            //fv.raiseError("Debe ingresar un password");
            fv.raiseError("");
            document.getElementById("RegLblErrorCont").innerHTML = "Debe ingresar un password";
        }
        else {
            if (!fv.isAlphaNumeric(document.getElementById("inputCont").value)) {
                //fv.raiseError("Debe ingresar un password");
                fv.raiseError("");
                document.getElementById("RegLblErrorCont").innerHTML = "Solo Números y Letras";
            }
        }
        
        if (fv.isEmpty(document.getElementById("inputCont2").value)) {
            //fv.raiseError("Debe ingresar un password");
            fv.raiseError("");
            document.getElementById("RegLblErrorCont2").innerHTML = "Debe ingresar la confirmación del password";
        }
        else {
            if ((document.getElementById("inputCont").value)!==(document.getElementById("inputCont2").value)) {
                //fv.raiseError("Debe ingresar un password");
                fv.raiseError("");
                document.getElementById("RegLblErrorCont2").innerHTML = "Las contraseñas no coinciden";
            }
        }

if (fv.numErrors() < 1) {
	var jsonData = JSON.stringify(datosCliente);
	
	console.log(jsonData);
	
	$.ajax({
        type: "POST",
        data: jsonData,
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        url: "registrarUsuarioJSON.htm",
        beforeSend: function(){
        	$("#cargando").show("slow");
        },        
        success: function(data){
        	$("#cargando").hide("slow");
                console.log(data);
                var cadena = data.cadena;
        	if (data.me === ""){
                        $("#LabelInfoUsuario").html("<h4>"+cadena+"</h4>");
                        $("#myModal").modal('hide');
                        $("#myModalConfirmacion").modal('toggle');
        		
                        $("#confirmacionUsuario").click(goto);
                        
        	}
        	else{
        		fv.displayErrors();
                        return false;

        	}
        }
    });
    return true;
} else {
    fv.displayErrors();
                        return false;

}


}

function permite(elEvento, permitidos) {
    // Variables que definen los caracteres permitidos
    var numeros = "0123456789";
    var caracteres = " abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ";
    var numerosCaracteres = numeros + caracteres;
    var teclasEspeciales = [8, 37, 39, 46];
    // 8 = BackSpace, 46 = Supr, 37 = flecha izquierda, 39 = flecha derecha


    // Seleccionar los caracteres a partir del parámetro de la función
    switch (permitidos) {
        case 'num':
            permitidos = numeros;
            break;
        case 'car':
            permitidos = caracteres;
            break;
        case 'numCar':
            permitidos = numerosCaracteres;
            break;
    }

    // Obtener la tecla pulsada 
    var evento = elEvento || window.event;
    var codigoCaracter = evento.charCode || evento.keyCode;
    var caracter = String.fromCharCode(codigoCaracter);

    // Comprobar si la tecla pulsada es alguna de las teclas especiales
    // (teclas de borrado y flechas horizontales)
    var teclaEspecial = false;
    for (var i in teclasEspeciales) {
        if (codigoCaracter === teclasEspeciales[i]) {
            teclaEspecial = true;
            break;
        }
    }

    // Comprobar si la tecla pulsada se encuentra en los caracteres permitidos
    // o si es una tecla especial
    return permitidos.indexOf(caracter) !== -1 || teclaEspecial;
}

function goto(){  
    $(location).attr('href', 'sistemaWeb.htm');
}

function reset(){
    $("#inputNombre").attr("value","");
    $("#inputApell").attr("value","");
    $("#inputEmail").attr("value","");
    $("#inputCont").attr("value","");
    $("#inputCont2").attr("value","");
    $("#inputTelef").attr("value","");
    $("#inputDireccion").attr("value","");
    $("#inputNro").attr("value","");
    $("#tipoSexo option[value=" + "1" + "]").attr("selected", true);
    $("#tipoSexo").trigger('change');
    $("#tipoDoc option[value=" + "1" + "]").attr("selected", true);
    $("#tipoDoc").trigger('change');
    $("#tipoRol option[value=" + primerRol + "]").attr("selected", true);
    $("#tipoRol").trigger('change');
    $("#tipoPais option[value=" + primerPais + "]").attr("selected", true);
    $("#tipoPais").trigger('change');
}

function cargarRol(){
	$.ajax({
        type: "POST",
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        url: "roles.htm",
        success: function(data){
            console.log(data);
            if (data.me === ""){
                var escritor = "";

                primerRol = data.lRol[0].rol_id;

                $.each(data.lRol, function (i, item) {
                        escritor += '<option value = "' + item.rol_id + '">' + item.rol_nombre + '</option>';
                });

                $("#tipoRol").html(escritor);
            }
            else{
                alert("Hubo un error en la Base de Datos, se proceder� a recargar la p�gina");
                $(location).attr('href', 'registrarUsuario.htm');
            }       	
        }
    });
}